package com.hospital.dao;

import com.hospital.entity.Doctor;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 医生接口类
 * @author coder_zzm
 * @date 2022/5/13 23:11
 */
public interface DoctorDao {
    /**
     * 获取所有医生信息
     * @param pageNum 页码
     * @param pageSize 每页显示数量
     * @return 医生信息列表
     */
    List<Doctor> getAllAndPage(@Param("pageNum") Integer pageNum, @Param("pageSize") Integer pageSize);

    /**
     * 查询医生详细信息
     * @param dId 医生编号
     * @return 医生详细信息
     */
    Doctor getDoctorDetail(String dId);

    /**
     * 添加医生信息
     * @param doctor 医生实体类
     * @return 医生信息是否添加成功
     */
    Integer addDoctor(Doctor doctor);

    /**
     * 根据医生编号删除医生信息
     * @param dId 医生编号
     * @return 受影响行数
     */
    Integer delDoctorGetById(@Param("dId") Integer dId);

    /**
     * 根据医生编号修改医生信息
     * @param doctor 医生的实体
     * @return 医生信息是否修改成功
     */
    Integer updateDoctor(Doctor doctor);

    /**
     * 根据时间查询最后一条记录方法
     * @return 单条记录
     */
    Doctor getLastDoctor();

    /**
     * 根据医生姓名查询信息方法
     * @param dName 医生姓名
     * @return 多条记录
     */
    List<Doctor> getDoctorByName(String dName);
}
